package com.indexingsystem.boss.entity;

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.util.Date;

/**
 * idx_task
 * @author 
 */
public class IdxTask implements Serializable {
    /**
     * 任务主键
     */
    private Integer taskId;

    /**
     * 站点id,备用
     */
    private String siteId;

    /**
     * 任务类型0=产品，1=内文
     */
    private Integer taskType;

    /**
     * 任务状态，0=正常，1=暂停
     */
    private Integer taskStatus;

    /**
     * 父id，顶层为0
     */
    private Integer parentid;

    /**
     * 所有父id，逗号分割
     */
    private String arrparentid;

    /**
     * 是否存在子任务，0=不存在，1=存在
     */
    private Integer child;

    /**
     * 任务名称
     */
    private String name;

    /**
     * 排序
     */
    private Integer listorder;

    /**
     * 审核状态，200=通过0=未审核，-1=审核未通过
     */
    private Integer checkStatus;

    /**
     * 任务审核人
     */
    private String taskCheckBy;
    /**
     * 送审，0=未送审，1=已送审
     */
    private Integer submitStatus;

    /**
     * 任务分配时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date assignDate;

    /**
     * 预计完成时间
     */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date planCompleteDate;

    /**z
     * 任务创建时间
     */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 任务创建人
     */
    private String createBy;

    private static final long serialVersionUID = 1L;

    public Integer getTaskId() {
        return taskId;
    }

    public void setTaskId(Integer taskId) {
        this.taskId = taskId;
    }

    public String getSiteId() {
        return siteId;
    }

    public void setSiteId(String siteId) {
        this.siteId = siteId;
    }

    public Integer getTaskType() {
        return taskType;
    }

    public void setTaskType(Integer taskType) {
        this.taskType = taskType;
    }

    public Integer getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(Integer taskStatus) {
        this.taskStatus = taskStatus;
    }

    public Integer getParentid() {
        return parentid;
    }

    public void setParentid(Integer parentid) {
        this.parentid = parentid;
    }

    public String getArrparentid() {
        return arrparentid;
    }

    public void setArrparentid(String arrparentid) {
        this.arrparentid = arrparentid;
    }

    public Integer getChild() {
        return child;
    }

    public void setChild(Integer child) {
        this.child = child;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getListorder() {
        return listorder;
    }

    public void setListorder(Integer listorder) {
        this.listorder = listorder;
    }

    public Integer getCheckStatus() {
        return checkStatus;
    }

    public void setCheckStatus(Integer checkStatus) {
        this.checkStatus = checkStatus;
    }

    public String getTaskCheckBy() {
        return taskCheckBy;
    }

    public void setTaskCheckBy(String taskCheckBy) {
        this.taskCheckBy = taskCheckBy;
    }

    public Date getAssignDate() {
        return assignDate;
    }

    public void setAssignDate(Date assignDate) {
        this.assignDate = assignDate;
    }

	public Date getPlanCompleteDate() {
		return planCompleteDate;
	}

	public void setPlanCompleteDate(Date planCompleteDate) {
		this.planCompleteDate = planCompleteDate;
	}

	public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }



    public Integer getSubmitStatus() {
		return submitStatus;
	}

	public void setSubmitStatus(Integer submitStatus) {
		this.submitStatus = submitStatus;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((arrparentid == null) ? 0 : arrparentid.hashCode());
		result = prime * result + ((assignDate == null) ? 0 : assignDate.hashCode());
		result = prime * result + ((checkStatus == null) ? 0 : checkStatus.hashCode());
		result = prime * result + ((child == null) ? 0 : child.hashCode());
		result = prime * result + ((planCompleteDate == null) ? 0 : planCompleteDate.hashCode());
		result = prime * result + ((createBy == null) ? 0 : createBy.hashCode());
		result = prime * result + ((createTime == null) ? 0 : createTime.hashCode());
		result = prime * result + ((listorder == null) ? 0 : listorder.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result + ((parentid == null) ? 0 : parentid.hashCode());
		result = prime * result + ((siteId == null) ? 0 : siteId.hashCode());
		result = prime * result + ((submitStatus == null) ? 0 : submitStatus.hashCode());
		result = prime * result + ((taskCheckBy == null) ? 0 : taskCheckBy.hashCode());
		result = prime * result + ((taskId == null) ? 0 : taskId.hashCode());
		result = prime * result + ((taskStatus == null) ? 0 : taskStatus.hashCode());
		result = prime * result + ((taskType == null) ? 0 : taskType.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		IdxTask other = (IdxTask) obj;
		if (arrparentid == null) {
			if (other.arrparentid != null)
				return false;
		} else if (!arrparentid.equals(other.arrparentid))
			return false;
		if (assignDate == null) {
			if (other.assignDate != null)
				return false;
		} else if (!assignDate.equals(other.assignDate))
			return false;
		if (checkStatus == null) {
			if (other.checkStatus != null)
				return false;
		} else if (!checkStatus.equals(other.checkStatus))
			return false;
		if (child == null) {
			if (other.child != null)
				return false;
		} else if (!child.equals(other.child))
			return false;
		if (planCompleteDate == null) {
			if (other.planCompleteDate != null)
				return false;
		} else if (!planCompleteDate.equals(other.planCompleteDate))
			return false;
		if (createBy == null) {
			if (other.createBy != null)
				return false;
		} else if (!createBy.equals(other.createBy))
			return false;
		if (createTime == null) {
			if (other.createTime != null)
				return false;
		} else if (!createTime.equals(other.createTime))
			return false;
		if (listorder == null) {
			if (other.listorder != null)
				return false;
		} else if (!listorder.equals(other.listorder))
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		if (parentid == null) {
			if (other.parentid != null)
				return false;
		} else if (!parentid.equals(other.parentid))
			return false;
		if (siteId == null) {
			if (other.siteId != null)
				return false;
		} else if (!siteId.equals(other.siteId))
			return false;
		if (submitStatus == null) {
			if (other.submitStatus != null)
				return false;
		} else if (!submitStatus.equals(other.submitStatus))
			return false;
		if (taskCheckBy == null) {
			if (other.taskCheckBy != null)
				return false;
		} else if (!taskCheckBy.equals(other.taskCheckBy))
			return false;
		if (taskId == null) {
			if (other.taskId != null)
				return false;
		} else if (!taskId.equals(other.taskId))
			return false;
		if (taskStatus == null) {
			if (other.taskStatus != null)
				return false;
		} else if (!taskStatus.equals(other.taskStatus))
			return false;
		if (taskType == null) {
			if (other.taskType != null)
				return false;
		} else if (!taskType.equals(other.taskType))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "IdxTask [taskId=" + taskId + ", siteId=" + siteId + ", taskType=" + taskType + ", taskStatus="
				+ taskStatus + ", parentid=" + parentid + ", arrparentid=" + arrparentid + ", child=" + child
				+ ", name=" + name + ", listorder=" + listorder + ", checkStatus=" + checkStatus + ", taskCheckBy="
				+ taskCheckBy + ", submitStatus=" + submitStatus + ", assignDate=" + assignDate + ", planCompleteDate="
				+ planCompleteDate + ", createTime=" + createTime + ", createBy=" + createBy + "]";
	}

	
}